-
Notifications
You must be signed in to change notification settings - Fork 211
Create GPU process object before creating GPU thread in single process #40
Conversation
Trybot DashboardBuilding status:Finished the build of the PATCH in this pull requestTue Aug 13 2013 18:56:10 GMT+0800 (CST) [content_linux] Passed LOGS: build successful Rebuild the failed bots you want!Select the bots:
Start the building:
|
@yongsheng @sqliu @xingnan , Please help review, thanks. |
This commit is partly backport upstream commit 57cf978 When creating GPU thread, it need a ChildProcess singleton object which is not exist if not creating GPU process object. In-process mode create ChildProcess object in browser process, it breaks the assumption that ChildProcess is singleton. So remove the relevant DCHECKs. BUG=crosswalk-project/crosswalk#229
@xingnan Thanks, updated according to your comments. |
ping @yongsheng @sqliu |
Have you guys sent it upstream as well? |
Upstream already fixed, it's a partly back porting. |
thanks, Shiliu. very good finding. lgtm. suggest to merge this. |
ping @kenchris @darktears |
FWIW, we've been using this patch in the Tizen package forever in order to make |
Yes, when roll up DEPS.xwalk in crosswalk, i will take care of that. |
Create GPU process object before creating GPU thread in single process
…hset #5 id:100001 of https://codereview.chromium.org/516293007/) Reason for revert: Chrome OS build with DCHECKs enabled fails on start. This CL breaks assumption, that GAIA extension can be loaded without performing IO-operations. Log and stack trace: [16275:16275:0903/161435:WARNING:renderer_freezer.cc(55)] Cgroup freezer does not exist or is not writable. Processes will not be frozen during suspend. [16275:16275:0903/161435:WARNING:configuration_policy_pref_store.cc(30)] Policy RemoteAccessClientFirewallTraversal: This policy has been deprecated. [16275:16275:0903/161437:FATAL:thread_restrictions.cc(38)] Function marked as IO-only was called from a thread that disallows IO! If this thread really should be allowed to make IO calls, adjust the call to base::ThreadRestrictions::SetIOAllowed() in this thread's startup. #0 0x7fe3122e555e base::debug::StackTrace::StackTrace() #1 0x7fe31237c462 logging::LogMessage::~LogMessage() #2 0x7fe3124824af base::ThreadRestrictions::AssertIOAllowed() #3 0x7fe3123630a1 base::PathExists() #4 0x7fe321cfd5f3 extensions::(anonymous namespace)::CollectPlatformSpecificResourceArchs() #5 0x7fe321cfad22 extensions::Extension::InitFromValue() #6 0x7fe321cfa490 extensions::Extension::Create() #7 0x7fe321cfa114 extensions::Extension::Create() #8 0x7fe3233ebe1b extensions::ComponentLoader::Load() #9 0x7fe3233ec3cf extensions::ComponentLoader::Add() #10 0x7fe3233ec32a extensions::ComponentLoader::Add() #11 0x7fe3233ec2b0 extensions::ComponentLoader::Add() #12 0x7fe32437505f (anonymous namespace)::LoadGaiaAuthExtension() #13 0x7fe324374d5e extensions::GaiaAuthExtensionLoader::LoadIfNeeded() #14 0x7fe324237f7e ScopedGaiaAuthExtension::ScopedGaiaAuthExtension() #15 0x7fe322f68bb2 chromeos::WebUILoginView::Init() #16 0x7fe322f556ef chromeos::LoginDisplayHostImpl::InitLoginWindowAndView() #17 0x7fe322f52640 chromeos::LoginDisplayHostImpl::LoadURL() #18 0x7fe322f5226a chromeos::LoginDisplayHostImpl::StartWizard() #19 0x7fe322f54acd chromeos::LoginDisplayHostImpl::StartPostponedWebUI() #20 0x7fe322f541f8 chromeos::LoginDisplayHostImpl::Observe() #21 0x7fe322f54bfd chromeos::LoginDisplayHostImpl::Observe() #22 0x7fe31b222377 content::NotificationServiceImpl::Notify() #23 0x7fe322d51a24 chromeos::(anonymous namespace)::UserWallpaperDelegate::OnWallpaperAnimationFinished() #24 0x7fe31188692f ash::RootWindowController::OnWallpaperAnimationFinished() #25 0x7fe3117c633a ash::(anonymous namespace)::ShowWallpaperAnimationObserver::OnImplicitAnimationsCompleted() #26 0x7fe311f72d30 ui::ImplicitAnimationObserver::CheckCompleted() #27 0x7fe311f72cd5 ui::ImplicitAnimationObserver::SetActive() #28 0x7fe311f965d5 ui::ScopedLayerAnimationSettings::~ScopedLayerAnimationSettings() #29 0x7fe3117c5ec7 ash::DesktopBackgroundWidgetController::StartAnimating() #30 0x7fe3117bbb0c ash::DesktopBackgroundController::InstallDesktopController() #31 0x7fe3117bbc03 ash::DesktopBackgroundController::InstallDesktopControllerForAllWindows() #32 0x7fe3117bb3cc ash::DesktopBackgroundController::SetDesktopBackgroundImageMode() #33 0x7fe3117bb096 ash::DesktopBackgroundController::SetWallpaperImage() #34 0x7fe322f9a6b9 chromeos::WallpaperManager::DoSetDefaultWallpaper() #35 0x7fe322f99b73 chromeos::WallpaperManager::PendingWallpaper::ProcessRequest() #36 0x7fe322fbac72 base::internal::RunnableAdapter<>::Run() #37 0x7fe322fbabe9 base::internal::InvokeHelper<>::MakeItSo() #38 0x7fe322fbaba5 base::internal::Invoker<>::Run() #39 0x7fe3122cc9ce base::Callback<>::Run() #40 0x7fe312488f86 base::Timer::RunScheduledTask() #41 0x7fe3124890bc base::BaseTimerTaskInternal::Run() #42 0x7fe312489382 base::internal::RunnableAdapter<>::Run() #43 0x7fe3124892ec base::internal::InvokeHelper<>::MakeItSo() #44 0x7fe312489295 base::internal::Invoker<>::Run() #45 0x7fe3122cc9ce base::Callback<>::Run() #46 0x7fe3122eb9b3 base::debug::TaskAnnotator::RunTask() #47 0x7fe3123a1c57 base::MessageLoop::RunTask() #48 0x7fe3123a1d9b base::MessageLoop::DeferOrRunPendingTask() #49 0x7fe3123a228d base::MessageLoop::DoDelayedWork() #50 0x7fe3122a1f25 base::MessagePumpGlib::Run() #51 0x7fe3123a17f0 base::MessageLoop::RunHandler() #52 0x7fe3124093b2 base::RunLoop::Run() #53 0x7fe324217e4d ChromeBrowserMainParts::MainMessageLoopRun() #54 0x7fe31ad2a8bf content::BrowserMainLoop::RunMainMessageLoopParts() #55 0x7fe31ad344c7 content::BrowserMainRunnerImpl::Run() #56 0x7fe31ad251b1 content::BrowserMain() #57 0x7fe31abb997f content::RunNamedProcessTypeMain() #58 0x7fe31abbcce8 content::ContentMainRunnerImpl::Run() #59 0x7fe31abb8ee5 content::ContentMain() #60 0x7fe3206d3505 ChromeMain #61 0x7fe3206d34b2 main Cannot upload crash dump: cannot exec /sbin/crash_reporter Crash_reporter failed to process crash report Original issue's description: > Enable forced extension updates on NaCl arch mismatch > > This makes extensions aware of the platforms for which > they have platform-specific resources installed, if any. > > This also hooks up the extension update code with some > additional logic to place an extension in forced-update > mode if it has platform-specific resources which don't > match the current NaCl architecture. > > BUG=409948 > TEST=install an extension which uses NaCl (QuickOffice for example). Rename the _platform-specific/<your-nacl-arch> directory some something else and force an update (e.g. via chrome://extensions button). Observe that a new CRX is downloaded and installed. > > Committed: https://chromium.googlesource.com/chromium/src/+/4a92281fa5d331860d65a59ba45dc882a5c71df4 [email protected],[email protected],[email protected],[email protected] NOTREECHECKS=true NOTRY=true BUG=409948 Review URL: https://codereview.chromium.org/532183003 Cr-Commit-Position: refs/heads/master@{#293128}
…::ExecuteCommands. (patchset #1 id:1 of https://codereview.chromium.org/547783002/) Reason for revert: Broke Linux ChromiumOS Tests (dbg)(3) http://build.chromium.org/p/chromium.webkit/builders/Linux%20ChromiumOS%20Tests%20%28dbg%29%283%29/builds/1206 BrowserTestBase signal handler received SIGTERM. Backtrace: #0 0x7f3bcf3aa67e base::debug::StackTrace::StackTrace() #1 0x0000041c884a content::(anonymous namespace)::DumpStackTraceSignalHandler() #2 0x7f3bc709f4a0 <unknown> #3 0x7f3bc7151a43 __poll #4 0x7f3bc7b8dff6 <unknown> #5 0x7f3bc7b8e124 g_main_context_iteration #6 0x7f3bcf366f35 base::MessagePumpGlib::Run() #7 0x7f3bcf468180 base::MessageLoop::RunHandler() #8 0x7f3bcf4cfcc2 base::RunLoop::Run() #9 0x0000041e0729 content::RunThisRunLoop() #10 0x0000041e06ba content::RunMessageLoop() #11 0x000000668feb ExtensionApiTest::ResultCatcher::GetNextResult() #12 0x0000006a30dd extensions::CommandsApiTest_ContinuePropagation_Test::RunTestOnMainThread() #13 0x0000006a3712 extensions::CommandsApiTest_ContinuePropagation_Test::RunTestOnMainThread() #14 0x00000176be8b InProcessBrowserTest::RunTestOnMainThreadLoop() #15 0x0000041c85c8 content::BrowserTestBase::ProxyRunTestOnMainThreadLoop() #16 0x0000041c9cf2 base::internal::RunnableAdapter<>::Run() #17 0x0000041c9c69 base::internal::InvokeHelper<>::MakeItSo() #18 0x0000041c9c25 base::internal::Invoker<>::Run() #19 0x00000063f0de base::Callback<>::Run() #20 0x0000042dddd2 ChromeBrowserMainParts::PreMainMessageLoopRunImpl() #21 0x0000042dca92 ChromeBrowserMainParts::PreMainMessageLoopRun() #22 0x000002e77daf chromeos::ChromeBrowserMainPartsChromeos::PreMainMessageLoopRun() #23 0x7f3bd7bd2e96 content::BrowserMainLoop::PreMainMessageLoopRun() #24 0x7f3bd7bd96f2 base::internal::RunnableAdapter<>::Run() #25 0x7f3bd7bd965c base::internal::InvokeHelper<>::MakeItSo() #26 0x7f3bd7bd960a base::internal::Invoker<>::Run() #27 0x7f3bd80a852e base::Callback<>::Run() #28 0x7f3bd841bd2b content::StartupTaskRunner::RunAllTasksNow() #29 0x7f3bd7bd12f0 content::BrowserMainLoop::CreateStartupTasks() #30 0x7f3bd7bdcc72 content::BrowserMainRunnerImpl::Initialize() #31 0x7f3bd7bcda55 content::BrowserMain() #32 0x7f3bd7a6224f content::RunNamedProcessTypeMain() #33 0x7f3bd7a655b8 content::ContentMainRunnerImpl::Run() #34 0x7f3bd7a617b5 content::ContentMain() #35 0x0000041c82cb content::BrowserTestBase::SetUp() #36 0x00000176afc3 InProcessBrowserTest::SetUp() #37 0x000000674823 ExtensionBrowserTest::SetUp() #38 0x000000674852 ExtensionBrowserTest::SetUp() #39 0x0000018298a3 testing::internal::HandleSehExceptionsInMethodIfSupported<>() #40 0x00000181686e testing::internal::HandleExceptionsInMethodIfSupported<>() #41 0x00000180ad73 testing::Test::Run() #42 0x00000180b4cb testing::TestInfo::Run() #43 0x00000180baca testing::TestCase::Run() #44 0x000001811009 testing::internal::UnitTestImpl::RunAllTests() #45 0x0000018225b3 testing::internal::HandleSehExceptionsInMethodIfSupported<>() #46 0x0000018185fe testing::internal::HandleExceptionsInMethodIfSupported<>() #47 0x000001810c97 testing::UnitTest::Run() #48 0x0000041a5531 RUN_ALL_TESTS() #49 0x0000041a4547 base::TestSuite::Run() #50 0x0000008026d2 InteractiveUITestSuiteRunner::RunTestSuite() #51 0x000001769618 (anonymous namespace)::ChromeTestLauncherDelegate::RunTestSuite() #52 0x0000041d9efb content::LaunchTests() #53 0x00000176954b LaunchChromeTests() #54 0x00000080262f main #55 0x7f3bc708a76d __libc_start_main #56 0x0000005ffda9 <unknown> [123/334] CommandsApiTest.ContinuePropagation (TIMED OUT) Original issue's description: > Fixes HasEventListener check in ExtensionKeybindingRegistry::ExecuteCommands. > > ExtensionKeybindingRegistry::ExecuteCommands functions in two distinct ways -- execute all commands based on an accelerator, or, execute an accelerator for a given extension. The former behavior is implied by passing an empty string. > > Previously, only the latter case was handled when trying to continue propagating keys. > > BUG=407163 > TEST=try bots (interactive_ui_tests --gtest_filter=CommandsApiTest.*). > > Committed: https://chromium.googlesource.com/chromium/src/+/189a2ed4d209231d517b0e64a722722dead3f17a [email protected],[email protected] NOTREECHECKS=true NOTRY=true BUG=407163 Review URL: https://codereview.chromium.org/552533003 Cr-Commit-Position: refs/heads/master@{#293780}
…disable GCM (patchset #8 id:150001 of https://codereview.chromium.org/561943002/) Reason for revert: this CL might be breaking browser_tests and interactive_ui_tests on ChromeOS because it's starting a request on startup. here's an example: [15345:15369:0918/132152:ERROR:leak_tracker.h(97)] Leaked 0x11cd70da7cc0 which was allocated by: [15345:15369:0918/132152:ERROR:leak_tracker.h(98)] #0 0x7f44b584025e base::debug::StackTrace::StackTrace() #1 0x000000dfc481 base::debug::LeakTracker<>::LeakTracker() #2 0x000000df3e8d SystemURLRequestContextGetter::SystemURLRequestContextGetter() #3 0x000000df57f1 IOThread::InitSystemRequestContext() #4 0x000000df570b IOThread::system_url_request_context_getter() #5 0x000001443d9e BrowserProcessImpl::system_request_context() #6 0x000001028a8e SafeBrowsingService::Initialize() #7 0x0000014462c9 BrowserProcessImpl::CreateSafeBrowsingService() #8 0x000001446196 BrowserProcessImpl::safe_browsing_service() #9 0x0000014b9a06 ChromeResourceDispatcherHostDelegate::ChromeResourceDispatcherHostDelegate() #10 0x0000014466dc BrowserProcessImpl::ResourceDispatcherHostCreated() #11 0x0000008a88e5 chrome::ChromeContentBrowserClient::ResourceDispatcherHostCreated() #12 0x7f44be489a2f content::ResourceDispatcherHostImpl::ResourceDispatcherHostImpl() #13 0x7f44be060f44 content::BrowserMainLoop::BrowserThreadsStarted() #14 0x7f44be068302 base::internal::RunnableAdapter<>::Run() #15 0x7f44be06826c base::internal::InvokeHelper<>::MakeItSo() #16 0x7f44be06821a base::internal::Invoker<>::Run() #17 0x7f44be54e46e base::Callback<>::Run() #18 0x7f44be8d223b content::StartupTaskRunner::RunAllTasksNow() #19 0x7f44be05ff97 content::BrowserMainLoop::CreateStartupTasks() #20 0x7f44be06b824 content::BrowserMainRunnerImpl::Initialize() #21 0x7f44be05c7df content::BrowserMain() #22 0x7f44bdee5f6f content::RunNamedProcessTypeMain() #23 0x7f44bdee9268 content::ContentMainRunnerImpl::Run() #24 0x7f44bdee5505 content::ContentMain() #25 0x0000041aa8cb content::BrowserTestBase::SetUp() #26 0x00000173e117 InProcessBrowserTest::SetUp() #27 0x000000671180 ExtensionBrowserTest::SetUp() #28 0x0000006711b2 ExtensionBrowserTest::SetUp() #29 0x0000017fb993 testing::internal::HandleSehExceptionsInMethodIfSupported<>() #30 0x0000017e8bfe testing::internal::HandleExceptionsInMethodIfSupported<>() #31 0x0000017dd1e3 testing::Test::Run() #32 0x0000017dd92b testing::TestInfo::Run() #33 0x0000017ddf1a testing::TestCase::Run() #34 0x0000017e3413 testing::internal::UnitTestImpl::RunAllTests() #35 0x0000017f47d3 testing::internal::HandleSehExceptionsInMethodIfSupported<>() #36 0x0000017ea96e testing::internal::HandleExceptionsInMethodIfSupported<>() #37 0x0000017e30b1 testing::UnitTest::Run() #38 0x000004187e41 RUN_ALL_TESTS() #39 0x000004186e67 base::TestSuite::Run() #40 0x0000007fcd62 InteractiveUITestSuiteRunner::RunTestSuite() #41 0x00000173c7b8 (anonymous namespace)::ChromeTestLauncherDelegate::RunTestSuite() #42 0x0000041bc2fb content::LaunchTests() #43 0x00000173c6e9 LaunchChromeTests() #44 0x0000007fccbf main #45 0x7f44ad8ed76d __libc_start_main #46 0x000000601389 <unknown> [15345:15369:0918/132152:FATAL:leak_tracker.h(102)] Check failed: 0u == count (0 vs. 1) #0 0x7f44b584025e base::debug::StackTrace::StackTrace() #1 0x7f44b58d7a62 logging::LogMessage::~LogMessage() #2 0x000000dfdd01 base::debug::LeakTracker<>::CheckForLeaks() #3 0x000000df8e13 IOThread::CleanUp() #4 0x7f44be0810b6 content::BrowserThreadImpl::CleanUp() #5 0x7f44be07e852 content::BrowserProcessSubThread::CleanUp() #6 0x7f44b59d0601 base::Thread::ThreadMain() #7 0x7f44b59bba3c base::(anonymous namespace)::ThreadFunc() #8 0x7f44b1aa9e9a start_thread #9 0x7f44ad9c03fd clone Original issue's description: > Add GCMChannelStatusSyncer to schedule requests and enable/disable GCM > > BUG=384041 > TEST=new tests added > > Committed: https://crrev.com/3c23f4a188e171998f3042ad62f4aa5717e66d63 > Cr-Commit-Position: refs/heads/master@{#295524} [email protected],[email protected],[email protected],[email protected],[email protected] NOTREECHECKS=true NOTRY=true BUG=384041 Review URL: https://codereview.chromium.org/582913003 Cr-Commit-Position: refs/heads/master@{#295549}
…ndows. An earlier CL added SizeConstraintsChanged which updates the HWND's style flags: https://codereview.chromium.org/581953002/ To be consistent with CalculateWindowStylesFromInitParams in widget_hwnd_utils, it should only set the style on normal windows. BUG=417986 Review URL: https://codereview.chromium.org/611223002 Cr-Commit-Position: refs/heads/master@{#297582} (cherry picked from commit 6561311) [email protected] Review URL: https://codereview.chromium.org/625793002 Cr-Commit-Position: refs/branch-heads/2171@{#40} Cr-Branched-From: 267aeeb-refs/heads/master@{#297060}
Introduce a display change observer and make the window delegates update their cached HardwareDisplayController pointer as a result of changes in ScreenManager. BUG=446184 NOTRY=true Review URL: https://codereview.chromium.org/844343002 Cr-Commit-Position: refs/heads/master@{#311112} Review URL: https://codereview.chromium.org/855153002 Cr-Commit-Position: refs/branch-heads/2272@{#40} Cr-Branched-From: 827a380-refs/heads/master@{#310958}
The old Chromoting code (policy_hack before crrev.com/830193002) used to always read Chromoting policies from the registry. The new code (using components/policy) ignores contents of the registry on non-domain-joined machines. This old-vs-new difference in behavior was unintentional. The current changelist ensures that Chromoting's old behavior is preserved. BUG=460734 TEST=1) components_unittests.exe, 2) remoting_unittests.exe, 3) remoting_unittests.exe --gtest_filter=*PolicyWatcher*Real* -v=1 copied and run from a non-domain-joined, test VM to verify that Chromoting gets its policies from the registry (HKLM\SOFTWARE\Policies\Google\Chrome) in this scenario. Review URL: https://codereview.chromium.org/947353002 Cr-Commit-Position: refs/heads/master@{#317865} (cherry picked from commit bccb49e) TBR=dcaiafa Review URL: https://codereview.chromium.org/959033002 Cr-Commit-Position: refs/branch-heads/2311@{#40} Cr-Branched-From: 09b7de5-refs/heads/master@{#317474}
The changes made in https://codereview.chromium.org/1009193003 failed to check the current settings about whether or not embedder zoom should propagate to the guest. This CL corrects that. BUG=474452 Review URL: https://codereview.chromium.org/1070113004 (cherry picked from commit 37d3af9) Cr-Original-Commit-Position: refs/heads/master@{#324451} Cr-Commit-Position: refs/branch-heads/2357@{#40} Cr-Branched-From: 59d4494-refs/heads/master@{#323860}
Only consider the system to have dual GPUs if one is an Intel GPU and the other isn't. This avoids problems where recent Mac Pros which contain dual AMD GPUs are considered to be "dual-GPU". One symptom was a 300 ms scroll lag on these machines once idle for 10 seconds as described in https://codereview.chromium.org/1147653002/ . BUG=380026 Review URL: https://codereview.chromium.org/1144843005 Cr-Commit-Position: refs/heads/master@{#330471} (cherry picked from commit 521697f) [email protected] Review URL: https://codereview.chromium.org/1142423005 Cr-Commit-Position: refs/branch-heads/2403@{#40} Cr-Branched-From: f54b809-refs/heads/master@{#330231}
The reason for removal of camera and microphone content settings from the extension API was that the UI could not correctly show this support. As of https://codereview.chromium.org/1210173012/, we have a suitable UI, so this can be relanded. In this CL, we first revert the removal CL (https://codereview.chromium.org/938513004/) in Patchset #1. In the following patchsets, we handle one change that has been made to content settings in the meantime, and that is the possibility to restrict the default content setting to a smaller subset of values than is supported for content setting exceptions of the same content type. This currently only happens in case of camera and microphone, so it was not necessary to handle it in the extensions' API until now. ================================================== Revert details: Original issue's description: > Remove camera and microphone settings from the extensions API. > > These were added in CLs 880223002 and 889893002. > Automatic revert in CLs 925303003 and 933273002 didn't work due to the way how kContentSettingsTypeNames in content_settings_helpers.cc works - we cannot remove an entry from the middle of the list. > > Reason for revert: > Setting the camera and microphone default content settings currently cannot be shown in the UI and will not work exactly the way an app developer might expect it to (due to interference with the MEDIASTREAM content setting). > > Reverting this patch until the UI is ready. > > BUG=464410 > > Committed: https://crrev.com/16991f7d102f1c2327587258eabd5e46fc362ec0 > Cr-Commit-Position: refs/heads/master@{#319286} ================================================== [email protected],[email protected],[email protected] BUG=464410,455589 Review URL: https://codereview.chromium.org/1296983005 Cr-Commit-Position: refs/heads/master@{#345223} (cherry picked from commit 270c118) Review URL: https://codereview.chromium.org/1320623003 . Cr-Commit-Position: refs/branch-heads/2490@{#40} Cr-Branched-From: 7790a35-refs/heads/master@{#344925}
[email protected] BUG=575810 Review URL: https://codereview.chromium.org/1599733002 Cr-Commit-Position: refs/heads/master@{#369954} (cherry picked from commit 2cd7842) Review URL: https://codereview.chromium.org/1618833002 . Cr-Commit-Position: refs/branch-heads/2623@{#40} Cr-Branched-From: 92d7753-refs/heads/master@{#369907}
If the tab is reparented early on before this callback gets back, we hit a NPE. For that callback early return if the TabModelSelector is cleared BUG=590673, 591187 Review URL: https://codereview.chromium.org/1756653002 . Cr-Commit-Position: refs/branch-heads/2661@{crosswalk-project#40} Cr-Branched-From: ef6f6ae-refs/heads/master@{#378081}
This CL changes the TrafficStatsAmortizer from ignoring overhead that isn't reflected in any pre-amortization bytes, and instead defers that overhead to the next amortization run so that the next amortization run can try to include the overhead. This fixes an issue where the TrafficStatsAmortizer would ignore overhead seen by TrafficStats but hadn't yet been reported by the network stack, which would happen often on slow networks. BUG=556836 Review URL: https://codereview.chromium.org/1453193003 Cr-Commit-Position: refs/heads/master@{#360277} (cherry picked from commit 99df59d) Review URL: https://codereview.chromium.org/1459673002 . Cr-Commit-Position: refs/branch-heads/2564@{crosswalk-project#40} Cr-Branched-From: 1283eca-refs/heads/master@{#359700}
BUG=614177 Review-Url: https://codereview.chromium.org/2006143002 Cr-Commit-Position: refs/heads/master@{#395512} (cherry picked from commit 2a818f5) Review URL: https://codereview.chromium.org/2011583002 . Cr-Commit-Position: refs/branch-heads/2743@{crosswalk-project#40} Cr-Branched-From: 2b3ae3b-refs/heads/master@{#394939}
Existing code just checks Android version to know if the system supports Android MIDI API, but reality is it depends on products. This patch introduces an additional check to ask PackageManager. This is expected to work always because cts would requre MIDI tests to pass if it says FEATURE_MIDI is supported on the device. See aosp-master/cts/tests/tests/midi/src/android/midi/cts/MidiEchoTest.java (cherry picked from commit cb9d4e9) Bug: 486584, 683027, 761897 Change-Id: Idb3ca57c3179220957dd16126f24570e2b45f299 Reviewed-on: https://chromium-review.googlesource.com/643246 Commit-Queue: Takashi Toyoshima <[email protected]> Reviewed-by: Yutaka Hirano <[email protected]> Cr-Original-Commit-Position: refs/heads/master@{#499575} Reviewed-on: https://chromium-review.googlesource.com/652186 Reviewed-by: Takashi Toyoshima <[email protected]> Cr-Commit-Position: refs/branch-heads/3202@{crosswalk-project#40} Cr-Branched-From: fa6a5d8-refs/heads/master@{#499098}
This commit is partly backport upstream commit 57cf978
When creating GPU thread, it need a ChildProcess singleton object
which is not exist if not creating GPU process object.
In-process mode create ChildProcess object in browser process, it breaks
the assumption that ChildProcess is singleton. So remove the relevant
DCHECKs.
BUG=crosswalk-project/crosswalk#229